package com.piggy.logi.sys.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import com.baomidou.mybatisplus.annotation.*;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;


/**
 * 我的客户对象 logi_customer
 *
 * @author piggy
 * @date 2023-08-16
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("logi_customer")
public class LogiCustomer implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 客户id
     */
    @ApiModelProperty("客户id")
    @TableId(value = "customer_id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long customerId;

    /**
     * 服务商部门id
     */
    @ApiModelProperty("服务商部门id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deptId;

    /**
     * 部门名称
     */
    @ApiModelProperty("部门名称")
    private String customerName;

    /**
     * 公司编码
     */
    @ApiModelProperty("公司编码")
    private String customerCode;

    /**
     * 负责人
     */
    @ApiModelProperty("负责人")
    private String leader;

    /**
     * 联系电话
     */
    @ApiModelProperty("联系电话")
    private String phone;

    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    private String email;

    /** 邮编 */
    @ApiModelProperty("邮编")
    private String postcode;

    /**
     * 法人身份证号
     */
    @ApiModelProperty("法人身份证号")
    private String legalIdcard;

    /**
     * 法人身份证照片url(正面)
     */
    @ApiModelProperty("法人身份证照片url(正面)")
    private String legalIdcardUrl;

    /**
     * 法人身份证照片url(反面)
     */
    @ApiModelProperty("法人身份证照片url(反面)")
    private String legalIdcardUrl2;

    /**
     * 职务(岗位)
     */
    @ApiModelProperty("职务(岗位)")
    private String customerPost;

    /**
     * 企业性质
     */
    @ApiModelProperty("企业性质")
    private String customerNature;

    /**
     * 所属行业
     */
    @ApiModelProperty("所属行业")
    private String customerIndustry;

    /**
     * 客户类型(企业类型)
     */
    @ApiModelProperty("客户类型(企业类型)")
    private String customerEntType;

    /**
     * 组织属性
     */
    @ApiModelProperty("组织属性")
    private String customerEntNature;

    /**
     * 企业经营范围
     */
    @ApiModelProperty("企业经营范围")
    private String customerBizScope;

    /**
     * 公司logo url
     */
    @ApiModelProperty("公司logo url")
    private String customerLogo;

    /**
     * 公司成立时间
     */
    @ApiModelProperty("公司成立时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date customerDate;

    /**
     * 座机号码
     */
    @ApiModelProperty("座机号码")
    private String customerTel;

    /**
     * 营业执照
     */
    @ApiModelProperty("营业执照")
    private String customerLicense;

    /**
     * 营业执照照片
     */
    @ApiModelProperty("营业执照照片")
    private String customerLicenseUrl;

    /**
     * 开户许可证
     */
    @ApiModelProperty("开户许可证")
    private String customerOpenPremit;

    /**
     * 道路经营许可证
     */
    @ApiModelProperty("道路经营许可证")
    private String customerRoadLicense;

    /**
     * 场所照片
     */
    @ApiModelProperty("场所照片")
    private String customerPlateUrl;

    /**
     * 公司地址所在县/区
     */
    @ApiModelProperty("公司地址所在县/区")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Integer customerDistrict;

    /**
     * 详细地址
     */
    @ApiModelProperty("详细地址")
    private String customerAddress;

    /**
     * 经度
     */
    @ApiModelProperty("经度")
    private BigDecimal customeLat;

    /**
     * 纬度
     */
    @ApiModelProperty("纬度")
    private BigDecimal customeLng;

    /**
     * 仓储容量
     */
    @ApiModelProperty("仓储容量")
    private BigDecimal customeWhseCapacity;

    /**
     * 车辆数
     */
    @ApiModelProperty("车辆数")
    private Integer vehicleNum;

    /**
     * 员工人数
     */
    @ApiModelProperty("员工人数")
    private Integer staffNum;

    /**
     * 其它资料
     */
    @ApiModelProperty("其它资料")
    private String otherInfo;

    /**
     * 是否资质认证(企业相关认证) [1 未认证 1 认证中 3 认证失败 4 已认证]
     */
    @ApiModelProperty("是否资质认证(企业相关认证) [1 未认证 1 认证中 3 认证失败 4 已认证]")
    private Integer quliFlag;

    /**
     * 资质认证通过时间
     */
    @ApiModelProperty("资质认证通过时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date quliTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 部门状态（0正常 1停用）
     */
    @ApiModelProperty("部门状态（0正常 1停用）")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    @TableLogic
    private String delFlag;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

}
